#include <stdio.h>

int main(void) {
    // printf("Hello, World!\n");
    char a='\2';
    int b=0;
    // b=int(a+b);
    int x,y;
    x=y=100;
    return 0;
}
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
 typedef struct ListNode ListNode;
struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {
    ListNode* curA=headA;
    int la =0;
    while(curA){
        ++la;
        curA=curA->next;
    }
    ListNode* curB=headB;
    int lb=0;
    while(curB){
        ++la;
        curB=curB->next;
    }
    ListNode* longList=headA;
    ListNode* shortList=headB;
    if(lb>la){
        longList=headB;
        shortList=headA;
    }
    int gap=abs(la-lb);
    while(gap--){
        longList=longList->next;
    }
    while(longList){
        if(longList==shortList){
            return longList;
        }
        longList=longList->next;
        shortList=shortList->next;
    }
    return NULL;




}